package cn.tedu.mall.controller;

import cn.tedu.mall.service.FileService;
import cn.tedu.mall.vo.ImageVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

@Controller
@ResponseBody
public class FileController {
    @Autowired
    private FileService fileService;
    //请求路径：http://localhost:8091/file
    //请求参数：fileImage

    /**
     * MultipartFile该接口用来接收多媒体文件
     * @param fileImage 参数名
     * @return
     */
    @RequestMapping("/file")
    public String file(MultipartFile fileImage) throws IOException {
        //1.确定文件要上传的位置路径
        String path="D:/img/";
        File file=new File(path);
        //1.1判断文件路径是否存在
        if (!file.exists()){
            //创建目录
            //mkdir()用来创建单级目录
            //mkdirs()用来创建多级目录
            file.mkdirs();
        }
        //2.指定所生成的文件具体路径（包含文件名称）
        //2.1获取文件名称 getOriginalFilename()可以获取真实的文件名称
        String filename = fileImage.getOriginalFilename();
        String filePath=path+filename;
        //3.实现文件上传
        fileImage.transferTo(new File(filePath));
        return "文件上传成功";
    }
    //图片上传路径：/pic/upload  ,上传图片
    @RequestMapping("/pic/upload")
    public ImageVO uploadImage(MultipartFile uploadFile){
        //业务：实现文件上传
        return fileService.uploadFile(uploadFile);
    }

}
